package com.wlz.ota.entity;

import lombok.Data;

import java.util.ArrayList;
import java.util.List;

/**
 * <p>
 * 控制器包 对象
 * </p>
 *
 * @author liqi
 * @since 2020-11-03
 */
@Data
public class PackageControllerVo {

    /**
     * 解析是否成功(true=成功)
     */
    private boolean isSuccess = true;

    /**
     * 控制器包完整路径
     */
    private String fullPath;

    /**
     * 控制器包名称
     */
    private String packageName;

    /**
     * 控制器包名称,包括后缀
     */
    private String packageFullName;
    /**
     * 项目代号ID
     */
    private List<String>carBatchId;
    /**
     * 控制器包后缀
     */
    private String packageSuffix;

    /**
     * 控制器包大小
     */
    private Long packageSize;

    /**
     * 车辆品牌ID
     */
    private String carBrandId;

    /**
     * 车辆型号ID
     */
    private String carTypeId;



    /**
     * 项目代号
     */
    private String carBatchCode;

    /**
     * TBOX_AGENT(0, "TBX代理"),
     * TBOX(1, "TBX自升级"),
     * QUBE(2, "车机自升级"),
     * QUBE_AGENT_ONE(3, "车机代理-1"),
     * QUBE_AGENT_TWO(4, "车机代理-2"),
     * QUBE_AGENT_THREE(5, "车机代理-3");
     */
    private Integer partTypeCategory;

    /**
     * 零部件ID
     */
    private String partTypeId;

    /**
     * 是否标定包(0:否 1:是)
     */
    private Integer isCalibration;

    /**
     * 控制器包类型(0:全量包 1:差分包)
     */
    private Integer packageType;

    /**
     * 零部件名称
     */
    private String partName;

    /**
     * 零部件号
     */
    private String partNumber;


    /**
     * 软件版本号
     */
    private String softwareVersion;

    /**
     * 标定版本号
     */
    private String calibrationVersion;
    /**
     * 软件版本号(用于差分包)
     */
    private String originalSoftwareVersion;
    /**
     * 目标软件号(用于差分包)
     */
    private String targetSoftwareVersion;

    /**
     * 刷写方式 0-Can，1-Can FD；
     */
    public int brushWriteModel;


    /**
     * 控制器包文件列表
     */
    private List<PackageControllerFileVo> packageControllerFileList = new ArrayList<>();
}
